package dawi.fcs.servicio.generico;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

import dawi.fcs.dominio.Actividades;
import dawi.fcs.dominio.ExpedienteActividad;
import dawi.fcs.dominio.dto.DtoExpedienteActividad;

public class Constante {
	public static final String CONSTANTE_MYBATIS_OPERACION_REGISTRAR = "registrar";
	public static final String CONSTANTE_MYBATIS_OPERACION_ACTUALIZAR = "actualizar";
	public static final String CONSTANTE_MYBATIS_OPERACION_OBTENERPORID = "obtenerPorId";
	public static final String CONSTANTE_MYBATIS_OPERACION_ELIMINAR = "eliminar";
	public static final String CONSTANTE_MYBATIS_OPERACION_LISTARTODOS = "listarTodos";
	public static final String CONSTANTE_MYBATIS_OPERACION_LISTARPOREJEMPLO = "listarPorEjemplo";
	public static final String BEAN_MANTENIMIENTO_SESION = "bean_mantenimiento";
	public static final String ACCION_PANTALLA = "accion_pantalla";
	public static final String PERSONA_JURIDICA_VALUE = "JUR";
	public static final String PERSONA_NATURAL_VALUE = "NAT";
	public static final String USUARIO_SESSION_ACTUAL = "USUARIO_ACTUAL";
	public static final String ACCION_SESSION_ACTUAL = "USUARIO_ACTUAL_ACCIONES";
	public static final String CORREO_BIENVENIDA = "<html><head><title></title></head><body><h2><span style='color:#DAA520;'><span style='font-family: tahoma,geneva,sans-serif;'>Bienvenido a Jur&iacute;dica</span></span></h2><p><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>Queremos agradecerle por su inter&eacute;s en acceder a nuestro nuevo sitio web.</font></span><br /><br /><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'><img alt='' src='http://dogmadebate.com/wp-content/uploads/2014/11/tumblr_static_sjicon1.jpg' style='width: 200px; float: right; height: 200px; margin: 10px;' /></font></span><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>En nombre de todo el equipo, </font></span><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>deseamos comunicarle nuestros objetivos </font></span><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>e ilusiones en el d&iacute;a a d&iacute;a que desarrollamos. </font></span></p><p><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>La calidad de nuestra empresa no reside s&oacute;lo en los productos y servicios que comercializamos, sino tambi&eacute;n en las otras facetas de nuestro negocio: comerciales, de relaciones p&uacute;blicas y de comunicaci&oacute;n. </font></span></p><p><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>Le estaremos muy agradecidos si nos env&iacute;a sus sugerencias, comentarios, problemas o aspectos relacionados con nuestros productos y nuestra empresa, de forma que podamos atenderlo y responderle inmediatamente. </font></span></p><p><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>Esperamos y deseamos poder cumplir con sus expectativas de calidad y satisfacci&oacute;n, ya que es nuestra &uacute;nica y verdadera filosof&iacute;a de trabajo.</font></span></p><p><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>Un cordial saludo.</font></span></p><p>&nbsp;</p><p><span style='font-family:tahoma,geneva,sans-serif;'>El equipo de Jur&iacute;dica 5.0</span></p></body></html>";

	public static String generarCorreoApertura(String expediente,
			List<DtoExpedienteActividad> listaAct) {
		String correo = "<html><head><title></title></head><body><h2><span style='color:#DAA520;'><span style='font-family: tahoma,geneva,sans-serif;'>Apertura de expediente : XNROEXPEDIENTEX</span></span></h2><p><span style='color:#000000;'><font size='2'><font face='Arial, Helvetica, sans-serif'>Este correo es para comunicarle que el expediente con n&uacute;mero XNROEXPEDIENTEX ha sido aperturado,</font></font></span></p><p><span style='color:#000000;'><font size='2'><font face='Arial, Helvetica, sans-serif'>y cuenta con las siguientes actividades:</font></font></span></p><ul>	";
		String correo2 = "</ul><p><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>Un cordial saludo.</font></span></p><p>&nbsp;</p><p><span style='font-family:tahoma,geneva,sans-serif;'>El equipo de Jur&iacute;dica 5.0</span></p></body></html>";
		String lista = "";
		String CorreoREplace = correo.replace("XNROEXPEDIENTEX", expediente);
		for (DtoExpedienteActividad x : listaAct) {
			lista = lista
					+ "<li><span style='color:#000000;'><font size='2'><font face='Arial, Helvetica, sans-serif'>"
					+ x.getNombre() + "</font></font></span></li>";
		}
		return CorreoREplace + lista + correo2;
	}

	public static String generarCorreoFinalizacionActividad(String expediente,
			String actividad) {
		String correo = "<html><head>	<title></title></head><body><h2><span style='color:#DAA520;'><span style='font-family: tahoma,geneva,sans-serif;'>Jur&iacute;dica : Finalizaci&oacute;n de actividad</span></span></h2><p><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>El presente correo es para comunicarle que la actividad XNOMBREACTIVIDADX del expediente</font></span></p><p><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>nro XNROEXPEDIENTEX ha sido finalizada exitosamente gracias a que usted cumpli&oacute; </font></span></p><p><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>con entregar los documentos a tiempo y correctamente.</font></span></p><p><span style='color:#000000;'><font face='Arial, Helvetica, sans-serif' size='2'>Un cordial saludo.</font></span></p><p>&nbsp;</p><p><span style='font-family:tahoma,geneva,sans-serif;'>El equipo de Jur&iacute;dica 5.0</span></p></body></html>";
		String correoReplace = correo.replace("XNROEXPEDIENTEX", expediente);
		String correoReplace2 = correoReplace.replace("XNOMBREACTIVIDADX", actividad);
		return correoReplace2;
	}

	public static byte[] getBytesFromFile(File file) throws IOException {
		if (file != null) {
			InputStream is = new FileInputStream(file);

			byte[] bytes = new byte[(int) file.length()];

			int offset = 0;
			int numRead = 0;
			while (offset < bytes.length
					&& (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {
				offset += numRead;
			}

			is.close();
			return bytes;
		} else {
			return null;
		}
	}

	public static File getFileFromBytes(byte[] fileBytes, String archivoDestino) {
		File f2 = null;
		try {
			f2 = new File(archivoDestino);
			OutputStream out = new FileOutputStream(f2);
			out.write(fileBytes);
			out.flush();
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return f2;

	}
}
